package com.grad.why.studentsystem.mapper;

import com.grad.why.studentsystem.domain.Project;
import com.grad.why.studentsystem.domain.ProjectExample;
import com.grad.why.studentsystem.domain.current.CurrentClassinfo;
import com.grad.why.studentsystem.domain.current.CurrentProject;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ProjectMapper {
    int countByExample(ProjectExample example);

    int deleteByExample(ProjectExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Project record);

    int insertSelective(Project record);

    List<Project> selectByExample(ProjectExample example);

    Project selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Project record, @Param("example") ProjectExample example);

    int updateByExample(@Param("record") Project record, @Param("example") ProjectExample example);

    int updateByPrimaryKeySelective(Project record);

    int updateByPrimaryKey(Project record);

    List<Project> getProjects();

    List<CurrentProject> getProjectList(@Param("offset") int offset, @Param("limit") int limit, @Param("search") String search);

    long getProjectListLength(@Param("search") String search);

    Integer getMaxId();

    int ProjectNameIsExist(@Param("name") String name);
}